package org.zxp.datastructure.bit;

import java.util.BitSet;

/**
 * @program: effectiveJava
 * @description: BitSet测试
 * @author: X-Pacific zhang
 * @create: 2019-08-16 11:33
 **/
public class BitSetTest {
    static BitSet obs = new BitSet();
    static{
        obs.set(1);
        obs.set(2);
        obs.set(3);
    }

    public static void main(String[] args){
        BitSet bs = new BitSet();
        System.out.println(bs.cardinality());//返回为true的位数 0
        bs.set(0,true);//将第0位设置为true
        bs.set(10,true);//将第10位设置为true
        System.out.println(bs.cardinality());//返回为true的位数 2
//        bs.and(obs);//bs与obs 与操作  cardinality:0
//        bs.or(obs);//bs与obs 或操作  cardinality:5
//        bs.clear();//设置bs的true为false cardinality:0
//        bs.clear(10);//设置bs的10位true为false cardinality:1
//        bs.flip(0,2);//从第0位到第二位 取反值
        System.out.println(bs.get(10));//取第10位的
        System.out.println(bs.cardinality());//返回为true的位数 2
        System.out.println(bs.toString());

    }


}
